// pages/recommendSong/recommendSong.js
import req from '../../../utils/req.js'
import hasPermission from '../../../utils/hasPermission .js'
import PubSub from 'pubsub-js'
Page({

  /**
   * 页面的初始数据
   */
  data: {
    month: '--',
    day: '--',
    // 推荐歌曲列表 
    recommendList: [],
    // 当前值的索引
    currentIndex: null
  },
  // 每日推荐进入歌曲播放页面
  headelsong(event) {
    // 自定义属性传入什么数据，返回的就是什么数据
    const {
      songid,
      index
    } = event.currentTarget.dataset;
    this.setData({
      currentIndex: index
    })
    wx.navigateTo({
      url: '/songs/pages/song/song?songId=' + songid
    })
  },
  /**
   * 生命周期函数--监听页面加载
   */
  onLoad: async function(options) {
    // 判断是否有权限进入这个每日推荐页面
    if (!hasPermission()) return;
    const date = new Date();
    // 日期
    const month = date.getDate();
    const day = date.getMonth() + 1;
    this.setData({
      day,
      month
    })
    // 发送请求
    const result = await req('/recommend/songs');
    this.setData({
      recommendList: result.recommend
    })
    this.token = PubSub.subscribe("switchType", (msg, type) => {
      // 对应歌曲的id
      let {
        currentIndex,
        recommendList
      } = this.data;
      if (type === "next") {
        // 下一首
        if (currentIndex === recommendList.length - 1) {
          currentIndex = 0;
        } else {
          currentIndex++;
        }
      } else {
        // 上一首
        if (currentIndex === 0) {
          currentIndex = recommendList.length - 1;
        } else {
          currentIndex--;
        }
      }
      this.setData({
        // 当前值的索引
        currentIndex
      })
      const id = recommendList[currentIndex].id;
      PubSub.publish('sendId', id)
      // console.log('id',id)
    })

  },

  /**
   * 生命周期函数--监听页面初次渲染完成
   */
  onReady: function() {

  },

  /**
   * 生命周期函数--监听页面显示
   */
  onShow: function() {

  },

  /**
   * 生命周期函数--监听页面隐藏
   */
  onHide: function() {

  },

  /**
   * 生命周期函数--监听页面卸载
   */
  onUnload: function() {
    PubSub.unsubscribe(this.token)
  },

  /**
   * 页面相关事件处理函数--监听用户下拉动作
   */
  onPullDownRefresh: function() {

  },

  /**
   * 页面上拉触底事件的处理函数
   */
  onReachBottom: function() {

  },

  /**
   * 用户点击右上角分享
   */
  onShareAppMessage: function() {

  }
})